package com.ruoyi.scsystem.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 学分审核对象 sys_application
 * 
 * @author cai
 * @date 2022-09-19
 */
public class SysApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 申请序号 */
    private String appId;

    /** 学号 */
    @Excel(name = "学号")
    private String userId;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String projectType;

    /** 项目内容 */
    @Excel(name = "项目内容")
    private String projectContent;

    /** 申请学分 */
    @Excel(name = "申请学分")
    private String applyScore;

    /** 审核人员编号 */
    @Excel(name = "审核人员编号")
    private String auditorId;

    /** 审定学分 */
    @Excel(name = "审定学分")
    private String auditorScore;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private Integer status;

    /** 附件id */
    @Excel(name = "附件id")
    private String attachIds;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String reviewComment;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 审定日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审定日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditorTime;

    /** 项目时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectTime;

    /** 项目管理信息 */
    private List<SysProjectCategory> sysProjectCategoryList;

    public void setAppId(String appId) 
    {
        this.appId = appId;
    }

    public String getAppId() 
    {
        return appId;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setProjectType(String projectType) 
    {
        this.projectType = projectType;
    }

    public String getProjectType() 
    {
        return projectType;
    }
    public void setProjectContent(String projectContent) 
    {
        this.projectContent = projectContent;
    }

    public String getProjectContent() 
    {
        return projectContent;
    }
    public void setApplyScore(String applyScore) 
    {
        this.applyScore = applyScore;
    }

    public String getApplyScore() 
    {
        return applyScore;
    }
    public void setAuditorId(String auditorId) 
    {
        this.auditorId = auditorId;
    }

    public String getAuditorId() 
    {
        return auditorId;
    }
    public void setAuditorScore(String auditorScore) 
    {
        this.auditorScore = auditorScore;
    }

    public String getAuditorScore() 
    {
        return auditorScore;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setAttachIds(String attachIds) 
    {
        this.attachIds = attachIds;
    }

    public String getAttachIds() 
    {
        return attachIds;
    }
    public void setReviewComment(String reviewComment) 
    {
        this.reviewComment = reviewComment;
    }

    public String getReviewComment() 
    {
        return reviewComment;
    }
    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }
    public void setAuditorTime(Date auditorTime) 
    {
        this.auditorTime = auditorTime;
    }

    public Date getAuditorTime() 
    {
        return auditorTime;
    }
    public void setProjectTime(Date projectTime) 
    {
        this.projectTime = projectTime;
    }

    public Date getProjectTime() 
    {
        return projectTime;
    }

    public List<SysProjectCategory> getSysProjectCategoryList()
    {
        return sysProjectCategoryList;
    }

    public void setSysProjectCategoryList(List<SysProjectCategory> sysProjectCategoryList)
    {
        this.sysProjectCategoryList = sysProjectCategoryList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("appId", getAppId())
            .append("userId", getUserId())
            .append("projectType", getProjectType())
            .append("projectContent", getProjectContent())
            .append("applyScore", getApplyScore())
            .append("auditorId", getAuditorId())
            .append("auditorScore", getAuditorScore())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("attachIds", getAttachIds())
            .append("reviewComment", getReviewComment())
            .append("applyTime", getApplyTime())
            .append("auditorTime", getAuditorTime())
            .append("projectTime", getProjectTime())
            .append("sysProjectCategoryList", getSysProjectCategoryList())
            .toString();
    }
}
